-- XSD schema extracted from ITU-T H.627 (08/2020)
<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<choice maxOccurs="unbounded">
<element name="Control">
<complexType>
<sequence>
<!-- Control request command series is shown as follows-->
<!-- Command type: device control (required)-->
<element name="CmdType" fixed="DeviceControl"/>
<!-- Command SN (required) -->
<element name="SN" type="integer" minInclusive="1"/>
<!-- Target device ID (required) -->
<element name="DeviceID" type="deviceIDType"/>
<!-- PTZ control command (optional, the control code shall comply with the provisions in clause A.3-->
<element name=" PTZCmd " type="PTZType"/>
<!-- Ballhead camera/cradle control command additional parameters (optional)-->
<element name="PTZCmdParams" minOccurs="0">
<sequence>
<!-- Preset name (optional when PTZCmd is a preset position setting command)-->
<element name="PresetName" type="string" minOccurs="0"/>
<!-- Cruise track name (optional when PTZCmd is a cruise track setting command)-->
<element name="CruiseTrackName" type="string" minOccurs="0"/>
</sequence>
</element>
<!-- Teleboot control command (optional) -->
<element name="TeleBoot" minOccurs="0">
<restriction base="string">
<enumeration value="Boot"/>
</restriction>
</element>
<!-- Record control command (optional) -->
<element name=" RecordCmd " type="recordType" minOccurs="0"/>
<!-- Guard/Unguard command (optional) -->
<element name=" GuardCmd " type="guardType" minOccurs="0"/>
<!-- Alarm reset command (optional) -->
<element name="AlarmCmd" minOccurs="0">
<restriction base="string">
<enumeration value="ResetAlarm"/>
</restriction>
</element>
<!-- instant image snapshot command (optional) -->
<element name="CaptureCmd" minOccurs="0">
<restriction base="string">
<enumeration value="Snapshot"/>
</restriction>
</element>
<!--Mandatory key frame command (optional), the device shall send an IDR frame after receiving this command (optional) -->
<element name="IFameCmd" minOccurs="0">
<restriction base="string">
<enumeration value="Send"/>
</restriction>
</element>
<!-- Drag zoom-in control command (optional) -->
<element name="DragZoomIn" type="string" minOccurs="0"/>
<complexType>
<sequence>
<!--Length pixel value of play window (required) -->
<element name="Length" type="integer"/>
<!--Width pixel value of play window (required) -->
<element name="Width" type="integer"/>
<!-- X-axis coordinate pixel value of drop-down box center-->
<element name="MidPointX" type="integer"/>
<!-- Y-axis coordinate pixel value of drop-down box center-->
<element name="MidPointY" type="integer"/>
<!--Length pixel value of drop-down box (required) -->
<element name="LengthX" type="integer"/>
<!--Width pixel value of drop-down box (required) -->
<element name="LengthY" type="integer"/>
</sequence>
</complexType>
<!-- Guard control command (optional) -->
<element name="HomePosition" type="string" minOccurs="0"/>
<complexType>
<sequence>
<!-- Guard enable 1-enabled, 0-disabled (required)-->
<element name="Enabled" type="integer"/>
<!-- Automatic rest time interval, used in guard enabling, unit: second (s) (optional) -->
<element name="ResetTime" type="integer" minOccurs="0"/>
<!-- Call preset position number, used in guard enabling, the value range: 0-255 (optional) -->
<element name="PresetIndex" minOccurs="0"/>
<simpleType>
<restriction base="integer">
<minInclusive value="0"/>
<maxInclusive value="255"/>
</restriction>
</simpleType>
</sequence>
</complexType>
<!--This item is expanded during alarm reset control, and carries alarm method and alarm type. -->
<element name="Info" minOccurs="0">
<complexType>
<sequence>
<!--Alarm method type of reset alarm -->
<element name="AlarmMethod" type="string" minOccurs="0"/>
<!--Alarm type of reset alarm -->
<element name="AlarmType" type="string" minOccurs="0"/>
</sequence>
</complexType>
</element>
<!--PTZ precise control command (optional) -->
<element name="PTZControl" type="PTZPreciseCtrlType" minOccurs="0"/>
<!--PU OSD configuration commands (optional) -->
<element name="OSDConfig" type="OSDConfigType" minOccurs="0"/>
<!--Extended information, multiple -->
<element name="Info" minOccurs="0" maxOccurs="unbounded">
<restriction base="string">
<maxLength value="1024"/>
</restriction>
</element>
</sequence>
</complexType>
</element>
</choice>
</schema>